import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
export default defineConfig(({ command, mode }) => {
  // 根据当前工作目录中的 `mode` 加载 .env 文件
  const env = loadEnv(mode, process.cwd(), '')

  return {
    plugins: [vue()],
    // 开发服务器配置只会在本地开发时使用，部署时可以保留
    server: {
      port: 8080,
      open: true,
      // 部署到宝塔时这些配置不会生效，只在本地开发有意义
      proxy: {
        '/api': {
          // 针对宝塔部署，这里可以改成您的实际后端API地址
          target: 'https://api.rsjsq.aiqji.com',
          changeOrigin: true,
          secure: false
        }
      }
    },
    build: {
      // 生产环境构建配置
      outDir: 'dist',
      assetsDir: 'assets',
      // 静态资源处理
      assetsInlineLimit: 4096, // 小于4kb的资源内联为base64
      // 分割代码，优化加载
      rollupOptions: {
        output: {
          manualChunks: {
            // 确保这些依赖在项目中已安装
            'vue-vendor': ['vue'],
            'element-plus': ['element-plus'],
            'echarts': ['echarts']
          }
        }
      },
      // 压缩配置
      minify: 'esbuild', // 改用esbuild压缩，更快且不需要额外安装terser
      esbuild: {
        drop: ['console', 'debugger'] // 删除console和debugger
      }
    },
    resolve: {
      alias: {
        '@': path.resolve(__dirname, 'src')
      }
    }
  }
})